<html>
<head><meta charset="utf-8"><title>The LLVM release process · t-compiler/wg-llvm · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/index.html">t-compiler/wg-llvm</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html">The LLVM release process</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="195947934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195947934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jakub Kądziołka <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195947934">(May 01 2020 at 10:23)</a>:</h4>
<p>[cross-posting from the Discord as I have been informed that the LLVM gurus have their hideout here :P]</p>
<p>Background: I'm packaging new-ish versions of Rust for Guix. Due to bootstrapping, we don't just carry the newest version, but also all the older ones up to something that can be built by mrustc. Moreover, as usual for a distro, we build with system-wide LLVM instead of the bundled one.</p>
<p>When I switched Rust 1.38 onwards to LLVM 9, the tests for Rust 1.41.1 started failing - specifically, the regression test for <a href="https://github.com/rust-lang/rust/issues/69225" title="https://github.com/rust-lang/rust/issues/69225">https://github.com/rust-lang/rust/issues/69225</a>. I traced this back to this cherry-picked LLVM patch: <a href="https://reviews.llvm.org/rG58e8c793d0e43150a6452e971a32d7407a8a7401" title="https://reviews.llvm.org/rG58e8c793d0e43150a6452e971a32d7407a8a7401">https://reviews.llvm.org/rG58e8c793d0e43150a6452e971a32d7407a8a7401</a></p>
<p>Which motivates my question - is this a miscompilation in LLVM? If so, why didn't the fix get released as, say 9.0.2? AFAICS, it wasn't available in any released version for half a year, which boggles my mind... am I missing something here?</p>



<a name="195948283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195948283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195948283">(May 01 2020 at 10:28)</a>:</h4>
<p>It seems that this is indeed a miscompilation by LLVM: <a href="https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172" title="https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172">https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172</a></p>



<a name="195948756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195948756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jakub Kądziołka <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195948756">(May 01 2020 at 10:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133247">bjorn3</span> <a href="#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/The.20LLVM.20release.20process/near/195948283" title="#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/The.20LLVM.20release.20process/near/195948283">said</a>:</p>
<blockquote>
<p>It seems that this is indeed a miscompilation by LLVM: <a href="https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172" title="https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172">https://github.com/rust-lang/rust/issues/69225#issuecomment-588888172</a></p>
</blockquote>
<p>Thanks, this is helpful. I noticed that the faulty commit got reverted on master before 9.0.1 was released. Do you happen to know how LLVM's backporting process looks and where I could look into it, so that I can check whether the commit was excluded on purpose or by accident?</p>



<a name="195949036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195949036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hanna Kruppe <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195949036">(May 01 2020 at 10:39)</a>:</h4>
<p>Yes, this seems to be an LLVM bug and I would not be surprised if it didn't see an official release for that long. The official releases are made on a fixed schedule (every six months), and while point releases are an option, they are definitely not issued for every single bug or continously until the next release. It's best to think of official LLVM releases as snapshots that just get some more QA than any random commit, not the be all end all of maintenance and support. I think this is influenced by the fact that a lot of major users and distributors of LLVM based software have their own release schedules and QA and maintenance policies. I know some Linux distributions cherry pick bug fixes into their LLVM packages, looks like you may want to do the same.</p>



<a name="195949196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195949196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hanna Kruppe <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195949196">(May 01 2020 at 10:41)</a>:</h4>
<p>The back porting process for LLVM is essentially that someone has to suggest a commit to the release manager and they'll use their best judgment to evaluate the risk and benefit of applying the commit to the release branch.</p>



<a name="195949929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195949929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jakub Kądziołka <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195949929">(May 01 2020 at 10:51)</a>:</h4>
<p>Thanks! I guess I'll look through the patches that Rust applies on top of LLVM, and consider adopting each of them.</p>



<a name="195979532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195979532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195979532">(May 01 2020 at 16:35)</a>:</h4>
<p>for that particular SCEV example, we did indeed make that change in Fedora and RHEL llvm packages</p>



<a name="195979634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187780-t-compiler/wg-llvm/topic/The%20LLVM%20release%20process/near/195979634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/187780-t-compiler/wg-llvm/topic/The.20LLVM.20release.20process.html#195979634">(May 01 2020 at 16:36)</a>:</h4>
<p>it might be worth subscribing to the rust-lang/llvm-project repo -- it's low volume</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>